Embodiments of the inventive subject matter generally relate to the field of communication networks and, more particularly, to direct memory access (DMA) rate limiting in a communication device.
A communication device typically comprises one or more network ports that couple the communication device to one or more communication networks. The network ports can be classified as hardware managed network ports (“hardware ports”) and software managed network ports (“software ports”). The hardware ports refer to those network ports whose data-path processing is entirely handled in hardware. In other words, system software does not process packets transmitted/received over the hardware ports. The software ports refer to those network ports which require system software (e.g., executing on a central processing unit (CPU)) to perform certain aspects of data-path processing. Thus, while both hardware and software managed ports may have driver software running on a high-level operating system (e.g., Linux®), software managed ports leverage this driver software for per-packet operations, while hardware managed ports perform data-path processing only in hardware.